package com.irdstudio.efp.esb.api.bean.sed.ploaninfo;

import com.alibaba.fastjson.annotation.JSONField;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 需求编号:2020D05--
 * 问题编号:
 * 开发人员: wengqw
 * 创建日期:2020/9/14
 * 功能描述:
 * 修改日期:2020/9/14
 * 修改描述:
 */
public class MsgInfoArry {
    /**
     * 借据编号
     */
    @JSONField(name = "DbllNo")
    private String dbllNo;
    /**
     * 授信协议号
     */
    @JSONField(name = "CrAgrmtNo")
    private String crAgrmtNo;
    /**
     * 贷款号
     */
    @JSONField(name = "LoanNo")
    private String loanNo;
    /**
     * 发放号
     */
    @JSONField(name = "DstrNo")
    private String dstrNo;
    /**
     * 借据金额
     */
    @JSONField(name = "DbllAmt")
    private BigDecimal dbllAmt;
    /**
     * 借据余额
     */
    @JSONField(name = "DbllBal")
    private BigDecimal dbllBal;
    /**
     * 借据起始日
     */
    @JSONField(name = "DbllStrtDay")
    private String dbllStrtDay;
    /**
     * 借据到期日
     */
    @JSONField(name = "DbllMtrDay")
    private String dbllMtrDay;
    /**
     * 借据状态
     */
    @JSONField(name = "DbllSt")
    private String dbllSt;
    /**
     * 执行年利率
     */
    @JSONField(name = "ExecAnulIntRt")
    private BigDecimal execAnulIntRt;
    /**
     * 利率浮动比例
     */
    @JSONField(name = "IntRtFlotRto")
    private BigDecimal intRtFlotRto;
    /**
     * 贷款期限
     */
    @JSONField(name = "LoanTrm")
    private String loanTrm;
    /**
     * 利率期限单位
     */
    @JSONField(name = "IntRtTrmUnit")
    private String intRtTrmUnit;
    /**
     * 还款方式
     */
    @JSONField(name = "RpymtMd")
    private String rpymtMd;
    /**
     * 产品编号
     */
    @JSONField(name = "PdNo")
    private String pdNo;
    /**
     * 渠道编号
     */
    @JSONField(name = "ChanNo")
    private String chanNo;
    /**
     * 还款卡号
     */
    @JSONField(name = "RpymtCardNo")
    private String rpymtCardNo;
    /**
     * 放款卡号
     */
    @JSONField(name = "DistrCardNo")
    private String distrCardNo;
    /**
     * 还款周期
     */
    @JSONField(name = "RpymtCyc")
    private String rpymtCyc;
    /**
     * 还款日期
     */
    @JSONField(name = "RpymtDt")
    private String rpymtDt;
    /**
     * 应收利息累计
     */
    @JSONField(name = "RcvbIntAcmln")
    private BigDecimal rcvbIntAcmln;
    /**
     * 实收利息累计
     */
    @JSONField(name = "PclupIntAcmln")
    private BigDecimal pclupIntAcmln;

    /**
     * 应还未还本金合计
     */
    @JSONField(name = "RpyblNonRpymtPnpTot")
    private BigDecimal rpyblNonRpymtPnpTot;

    /**
     * 应收未收罚息
     */
    @JSONField(name = "RcvbUncolcdPnyInt")
    private BigDecimal rcvbUncolcdPnyInt;
    /**
     * 已偿还罚息
     */
    @JSONField(name = "RpydPnyInt")
    private BigDecimal rpydPnyInt;
    /**
     * 应收复利累计
     */
    @JSONField(name = "RcvbCmpdIntAcmln")
    private BigDecimal rcvbCmpdIntAcmln;
    /**
     * 实收复利
     */
    @JSONField(name = "PclupCmpdInt")
    private BigDecimal pclupCmpdInt;
    /**
     * 下期还款日期
     */
    @JSONField(name = "NxtTrmRpymtDt")
    private String nxtTrmRpymtDt;
    /**
     * 下期还款金额
     */
    @JSONField(name = "NxtTrmRpymtAmt")
    private BigDecimal nxtTrmRpymtAmt;
    /**
     * 剩余期数
     */
    @JSONField(name = "RmanTrmCnt")
    private int rmanTrmCnt;
    /**
     * 贷款用途
     */
    @JSONField(name = "LoanPps")
    private String loanPps;
    /**
     * 欠款金额
     */
    @JSONField(name = "ArsAmt")
    private BigDecimal arsAmt;

    @JSONField(name = "AlrdySetlTm")
    private String alrdySetlTm;
    /**
     * 计提利息
     */
    @JSONField(name = "PrvnInt")
    private BigDecimal prvnInt;

    @JSONField(name = "GrcPrdInfArry")
    private List<AcctDtlInf> grcPrdInfArry = new ArrayList<>();

    public static class AcctDtlInf{
        /**
         * 宽限期
         */
        @JSONField(name = "GrcPrd")
        private String grcPrd;

        /** 还款期次*/
        @JSONField(name="RpymtTrmCnt")
        private String rpymtTrmCnt;

        public String getGrcPrd() {
            return grcPrd;
        }

        public void setGrcPrd(String grcPrd) {
            this.grcPrd = grcPrd;
        }

        public String getRpymtTrmCnt() {
            return rpymtTrmCnt;
        }

        public void setRpymtTrmCnt(String rpymtTrmCnt) {
            this.rpymtTrmCnt = rpymtTrmCnt;
        }
    }
    public String getDbllNo() {
        return dbllNo;
    }

    public void setDbllNo(String dbllNo) {
        this.dbllNo = dbllNo;
    }

    public String getCrAgrmtNo() {
        return crAgrmtNo;
    }

    public void setCrAgrmtNo(String crAgrmtNo) {
        this.crAgrmtNo = crAgrmtNo;
    }

    public String getLoanNo() {
        return loanNo;
    }

    public void setLoanNo(String loanNo) {
        this.loanNo = loanNo;
    }

    public String getDstrNo() {
        return dstrNo;
    }

    public void setDstrNo(String dstrNo) {
        this.dstrNo = dstrNo;
    }

    public BigDecimal getDbllAmt() {
        return dbllAmt;
    }

    public void setDbllAmt(BigDecimal dbllAmt) {
        this.dbllAmt = dbllAmt;
    }

    public BigDecimal getDbllBal() {
        return dbllBal;
    }

    public void setDbllBal(BigDecimal dbllBal) {
        this.dbllBal = dbllBal;
    }

    public String getDbllStrtDay() {
        return dbllStrtDay;
    }

    public void setDbllStrtDay(String dbllStrtDay) {
        this.dbllStrtDay = dbllStrtDay;
    }

    public String getDbllMtrDay() {
        return dbllMtrDay;
    }

    public void setDbllMtrDay(String dbllMtrDay) {
        this.dbllMtrDay = dbllMtrDay;
    }

    public String getDbllSt() {
        return dbllSt;
    }

    public void setDbllSt(String dbllSt) {
        this.dbllSt = dbllSt;
    }

    public BigDecimal getExecAnulIntRt() {
        return execAnulIntRt;
    }

    public void setExecAnulIntRt(BigDecimal execAnulIntRt) {
        this.execAnulIntRt = execAnulIntRt;
    }

    public BigDecimal getIntRtFlotRto() {
        return intRtFlotRto;
    }

    public void setIntRtFlotRto(BigDecimal intRtFlotRto) {
        this.intRtFlotRto = intRtFlotRto;
    }

    public String getLoanTrm() {
        return loanTrm;
    }

    public void setLoanTrm(String loanTrm) {
        this.loanTrm = loanTrm;
    }

    public String getIntRtTrmUnit() {
        return intRtTrmUnit;
    }

    public void setIntRtTrmUnit(String intRtTrmUnit) {
        this.intRtTrmUnit = intRtTrmUnit;
    }

    public String getRpymtMd() {
        return rpymtMd;
    }

    public void setRpymtMd(String rpymtMd) {
        this.rpymtMd = rpymtMd;
    }

    public String getPdNo() {
        return pdNo;
    }

    public void setPdNo(String pdNo) {
        this.pdNo = pdNo;
    }

    public String getChanNo() {
        return chanNo;
    }

    public void setChanNo(String chanNo) {
        this.chanNo = chanNo;
    }

    public String getRpymtCardNo() {
        return rpymtCardNo;
    }

    public void setRpymtCardNo(String rpymtCardNo) {
        this.rpymtCardNo = rpymtCardNo;
    }

    public String getDistrCardNo() {
        return distrCardNo;
    }

    public void setDistrCardNo(String distrCardNo) {
        this.distrCardNo = distrCardNo;
    }

    public String getRpymtCyc() {
        return rpymtCyc;
    }

    public void setRpymtCyc(String rpymtCyc) {
        this.rpymtCyc = rpymtCyc;
    }

    public String getRpymtDt() {
        return rpymtDt;
    }

    public void setRpymtDt(String rpymtDt) {
        this.rpymtDt = rpymtDt;
    }

    public BigDecimal getRcvbIntAcmln() {
        return rcvbIntAcmln;
    }

    public void setRcvbIntAcmln(BigDecimal rcvbIntAcmln) {
        this.rcvbIntAcmln = rcvbIntAcmln;
    }

    public BigDecimal getPclupIntAcmln() {
        return pclupIntAcmln;
    }

    public void setPclupIntAcmln(BigDecimal pclupIntAcmln) {
        this.pclupIntAcmln = pclupIntAcmln;
    }

    public BigDecimal getRcvbUncolcdPnyInt() {
        return rcvbUncolcdPnyInt;
    }

    public void setRcvbUncolcdPnyInt(BigDecimal rcvbUncolcdPnyInt) {
        this.rcvbUncolcdPnyInt = rcvbUncolcdPnyInt;
    }

    public BigDecimal getRpydPnyInt() {
        return rpydPnyInt;
    }

    public void setRpydPnyInt(BigDecimal rpydPnyInt) {
        this.rpydPnyInt = rpydPnyInt;
    }

    public BigDecimal getRcvbCmpdIntAcmln() {
        return rcvbCmpdIntAcmln;
    }

    public void setRcvbCmpdIntAcmln(BigDecimal rcvbCmpdIntAcmln) {
        this.rcvbCmpdIntAcmln = rcvbCmpdIntAcmln;
    }

    public BigDecimal getPclupCmpdInt() {
        return pclupCmpdInt;
    }

    public void setPclupCmpdInt(BigDecimal pclupCmpdInt) {
        this.pclupCmpdInt = pclupCmpdInt;
    }

    public String getNxtTrmRpymtDt() {
        return nxtTrmRpymtDt;
    }

    public void setNxtTrmRpymtDt(String nxtTrmRpymtDt) {
        this.nxtTrmRpymtDt = nxtTrmRpymtDt;
    }

    public BigDecimal getNxtTrmRpymtAmt() {
        return nxtTrmRpymtAmt;
    }

    public void setNxtTrmRpymtAmt(BigDecimal nxtTrmRpymtAmt) {
        this.nxtTrmRpymtAmt = nxtTrmRpymtAmt;
    }

    public int getRmanTrmCnt() {
        return rmanTrmCnt;
    }

    public void setRmanTrmCnt(int rmanTrmCnt) {
        this.rmanTrmCnt = rmanTrmCnt;
    }

    public String getLoanPps() {
        return loanPps;
    }

    public void setLoanPps(String loanPps) {
        this.loanPps = loanPps;
    }

    public BigDecimal getArsAmt() {
        return arsAmt;
    }

    public void setArsAmt(BigDecimal arsAmt) {
        this.arsAmt = arsAmt;
    }

    public String getAlrdySetlTm() {
        return alrdySetlTm;
    }

    public void setAlrdySetlTm(String alrdySetlTm) {
        this.alrdySetlTm = alrdySetlTm;
    }

    public BigDecimal getRpyblNonRpymtPnpTot() {
        return rpyblNonRpymtPnpTot;
    }

    public void setRpyblNonRpymtPnpTot(BigDecimal rpyblNonRpymtPnpTot) {
        this.rpyblNonRpymtPnpTot = rpyblNonRpymtPnpTot;
    }

    public BigDecimal getPrvnInt() {
        return prvnInt;
    }

    public void setPrvnInt(BigDecimal prvnInt) {
        this.prvnInt = prvnInt;
    }

    public List<AcctDtlInf> getGrcPrdInfArry() {
        return grcPrdInfArry;
    }

    public void setGrcPrdInfArry(List<AcctDtlInf> grcPrdInfArry) {
        this.grcPrdInfArry = grcPrdInfArry;
    }
}
